

        SUBT    Exported FileCore constants

OldOpt  SETA    {OPT}
        OPT     OptNoList+OptNoP1List

; ***********************************
; ***    C h a n g e   L i s t    ***
; ***********************************

; Date       Name  Description
; ----       ----  -----------
; 28-Nov-90  JSR   Created
; 28-Jan-91  JSR   Added FileCore_DiscFormat and FileCore_LayoutStructure
;                       Added Format_Floppy and Format_ D, E, F and L
; 14-May-91  JSR   Added WinnieMounts and WinniePollChanges
; 14-Jul-93  JSR   Added G format to list
; 17-May-94  AMcC  Changed to using the preferred SWI base and name symbols
; 21-Sep-94  SBP   Added BigDiscSupport flag
; 14-Mar-95  SBP   Added Misc_DriveStatus and DriveStatusWorks

SWIClass        SETS    FileCoreSWI_Name

        ^       FileCoreSWI_Base

        AddSWI  DiscOp
        AddSWI  Create
        AddSWI  Drives
        AddSWI  FreeSpace
        AddSWI  FloppyStructure
        AddSWI  DescribeDisc
        AddSWI  DiscardReadSectorsCache
        AddSWI  DiscFormat
        AddSWI  LayoutStructure
        AddSWI  MiscOp
        AddSWI	SectorDiscOp
        AddSWI	FreeSpace64

;Layout of create FileCore incarnation descriptor block

                ^ 0
Create_Flags    # 3
WinnieNeedsFiq  * 1 :SHL: 0
FloppyNeedsFiq  * 1 :SHL: 1
BackGroundTransfer * 1 :SHL: 2 ; background transfer supported (seems to be deprecated but now defined to avoid embarassment)
NoBigBuf        * 1 :SHL: 3 ;set by RAM filing system, small data move buffer size
WinnieMounts    * 1 :SHL: 4 ;Winnies mount like floppies
WinniePollChanges * 1 :SHL: 5 ; Winnies support poll change calls and lock calls
FloppyEjects    * 1 :SHL: 6 ; Floppies support MiscOp_Eject
WinnieEjects    * 1 :SHL: 7 ; Winnies support MiscOp_Eject
DriveStatusWorks * 1 :SHL: 8 ; Drive status supported
BigDiscSupport  * 1 :SHL: 9
Create_Id       # 1
Create_Title    # 4
Create_BootText # 4
Create_LowLevel # 4
Create_Misc     # 4

Create_Size     # 0

; reason codes for DiscOp call
Param4Op               * 0
VerifyOp                * 0
ReadSecsOp              * 1
WriteSecsOp             * 2
Param3Op               * 3
ReadTrkOp               * 3
WriteTrkOp              * 4
Param2Op               * 5
FirstHeadMoveOp        * 5
SeekOp                  * 5
Param1Op               * 6
RestoreOp               * 6
StepInOp                * 7     ;floppy only
StepOutOp               * 8     ;floppy only
CachedReadSecsOp        * 9
SpecifyOp               * 15    ;winnie only

; reason codes for misc call

                        ^ 0
Misc_Mount              # 1
Misc_PollChanged        # 1
Misc_LockDrive          # 1
Misc_UnlockDrive        # 1
Misc_PollPeriod         # 1
Misc_Eject              # 1
Misc_ReadInfo           # 1
Misc_DriveStatus        # 1     ; for checking status of a drive

Misc_Unused             # 0

; Poll changed status

Drv_NotChanged          * 1 :SHL: 0
Drv_MaybeChanged        * 1 :SHL: 1
Drv_Changed             * 1 :SHL: 2
Drv_Empty               * 1 :SHL: 3
Drv_Ready               * 1 :SHL: 4
Drv_40Track             * 1 :SHL: 5
Drv_EmptyWorks          * 1 :SHL: 6
Drv_ChangedWorks        * 1 :SHL: 7
Drv_HiDensity           * 1 :SHL: 8
Drv_DensityWorks        * 1 :SHL: 9
Drv_ReadyWorks          * 1 :SHL: 10

NoDirBit                * 1 :SHL: 6     ; If set *configure NoDir

; DiscFormat and LayoutStructure parameters
Format_L                * 0
Format_D                * 1
Format_E                * 2
Format_F                * 3
Format_G                * 4
Format_Floppy           * 1 :SHL: 7

; drive status bits

DriveReserved           * 1 :SHL: 0
        OPT     OldOpt
        END
